package dictionary.stemming;


import java.util.HashMap;

public class StemmerCache {

	private Stemmer stemmer;
	private HashMap<String,String> cache;
	
	public StemmerCache(Stemmer stemmer) {
		this.stemmer = stemmer;
		cache = new HashMap<String,String>();
	}
	
	public String getWordAndUpdate(String word) {
		String res = cache.get(word);
		if ( res == null ) {
			synchronized (this) {
				res = stemmer.stem(word);
				cache.put(word, res);
			}
		}
		return res;
	}

}
